Skip to main content
Version: Next

Getting Started

This section will guide you through the steps to set up your development environment and start contributing to the project.

Development Setup

Prerequisites

  • Xcode 16.1+
  • iOS 16.0+ SDK
  • CocoaPods 1.12+
  • Ruby with Bundler

Installation

  1. Clone the repository
    git clone https://aok-plus@dev.azure.com/aok-plus/navida/_git/navida-pro-fe-plugins-ios
  2. Navigate to the project directory:
    cd NavidaProPlugins
  3. Install dependencies:
    bundle install
    pod install
  4. Open the workspace:
    open NavidaProPlugins.xcworkspace

Project Structure

NavidaProPlugins/
├── Application/ # Main app container
│ ├── Configuration/ # Environment-specific configs
│ ├── AppDelegate.swift # Application lifecycle
│ └── ContentView.swift # Main UI container
├── Plugins/ # Plugin implementations
│ ├── NavidaBase/ # Core functionality
│ ├── Login/ # Login and authentication
│ ├── ScalableNavigation/ # Main navigation
│ ├── Challenge/ # Health challenges
│ ├── DoctorSearch/ # Doctor search
│ ├── VideoConsultation/ # Video medical consultations
│ ├── HealthMagazine/ # Health magazine content
│ └── [Other Plugins]/ # Other feature-specific plugins
├── Shared/ # Common utilities
└── Test Data/ # Test resources

Environments

The application supports multiple environments through .xcconfig files:

  • Prod: Production environment
  • ProdBeta: Production beta testing
  • SAPM/SAPW: Client's testing environment
  • SAPWBeta: Client's beta testing environment
  • Testing: Testing environment
  • Dev: Development environment
  • Daily: Daily build environment

Security Features

Certificate Pinning

  • Multiple public pinning keys for different environments
  • TrustKit integration for secure network communication
  • Fallback mechanisms for certificate validation

Data Protection

  • Screen capture protection for sensitive content
  • Biometric authentication support
  • Secure data storage and transmission

Privacy & Compliance

  • Comprehensive consent management
  • Data protection compliance
  • Privacy-focused design patterns

Testing

Test Architecture

  • Unit Tests: Located in NavidaProPluginsTests/
  • Snapshot Tests: Located in NavidaProPluginsSnapshotTests/
  • UI Tests: Located in NavidaProPluginsUITests/